package com.admin.client.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * (CoreSkillEffect)表实体类
 *
 * @author cxy
 * @since 2025-01-09 10:28:28
 */
@ApiModel("$tableInfo.comment")
@ColumnWidth(25)//列宽
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class CoreSkillEffect extends Model<CoreSkillEffect> {// swagger2,mybatis-plus
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 生成实体字段
    @TableId(type = IdType.INPUT)
    @ApiModelProperty("id技能独立效果id")
    @ExcelProperty({"id技能独立效果id","id"})
    private Long id;
    
    @ApiModelProperty("技能id")
    @ExcelProperty({"技能id","coreSkillId"})
    private Long coreSkillId;
    
    @ApiModelProperty("效果-选择范围")
    @ExcelProperty({"效果-选择范围","effectTypeId"})
    private String effectTypeId;
    
    @ApiModelProperty("效果-选择数量")
    @ExcelProperty({"效果-选择数量","effectTypeNum"})
    private Integer effectTypeNum;
    
    @ApiModelProperty("目标-范围和数量")
    @ExcelProperty({"目标-范围和数量","targetRange"})
    private Integer targetRange;
    
    @ApiModelProperty("目标-目标范围内条件")
    @ExcelProperty({"目标-目标范围内条件","targetCondition"})
    private Integer targetCondition;
    
    @ApiModelProperty("触发-战法第x次释放")
    @ExcelProperty({"触发-战法第x次释放","trigger1"})
    private Integer trigger1;
    
    @ApiModelProperty("触发-回合第x次发动")
    @ExcelProperty({"触发-回合第x次发动","trigger2"})
    private Integer trigger2;
    
    @ApiModelProperty("触发-阶段条件")
    @ExcelProperty({"触发-阶段条件","trigger3"})
    private Integer trigger3;
    
    @ApiModelProperty("方向条件")
    @ExcelProperty({"方向条件","trigger4"})
    private String trigger4;
    
    @ApiModelProperty("战法类型条件")
    @ExcelProperty({"战法类型条件","trigger5"})
    private String trigger5;
    
    @ApiModelProperty("触发目标")
    @ExcelProperty({"触发目标","trigger6"})
    private Integer trigger6;
    
    @ApiModelProperty("发动概率")
    @ExcelProperty({"发动概率","probability"})
    private String probability;
    
    @ApiModelProperty("效果回合触发次数")
    @ExcelProperty({"效果回合触发次数","triggerNum"})
    private Integer triggerNum;
    
    @ApiModelProperty("指定生效回合")
    @ExcelProperty({"指定生效回合","appoint"})
    private Integer appoint;
    
    @ApiModelProperty("准备回合")
    @ExcelProperty({"准备回合","prepare"})
    private Integer prepare;
    
    @ApiModelProperty("持续回合")
    @ExcelProperty({"持续回合","keep"})
    private Integer keep;
    
    @ApiModelProperty("基础数值1")
    @ExcelProperty({"基础数值1","baseValue1"})
    private String baseValue1;
    
    @ApiModelProperty("基础数值2")
    @ExcelProperty({"基础数值2","baseValue2"})
    private String baseValue2;
    
    @ApiModelProperty("衰弱数值1")
    @ExcelProperty({"衰弱数值1","weakValue1"})
    private String weakValue1;
    
    @ApiModelProperty("衰弱数值2")
    @ExcelProperty({"衰弱数值2","weakValue2"})
    private String weakValue2;
    
    @ApiModelProperty("叠加上限")
    @ExcelProperty({"叠加上限","baseValueMax"})
    private Integer baseValueMax;
    
    @ApiModelProperty("叠层上限")
    @ExcelProperty({"叠层上限","layerMax"})
    private Integer layerMax;
    
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 序列化版本号
    @TableField(exist = false)
    private static final long serialVersionUID = -59977154552895898L;
    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 获取主键值
    @Override
    public Serializable pkVal() {
        return this.id;
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////  基础数据初始化
    public CoreSkillEffect init() {
        return this;
    }
    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 领域业务
}

